草庐IT

java - 用eclipse测试java程序的内存消耗

全部标签

ruby-on-rails - 我如何在 Rails 中测试助手?

我正在尝试构建一些单元测试来测试我的Rails助手,但我永远不记得如何访问它们。恼人的。有什么建议吗? 最佳答案 在Rails3中,您可以这样做(实际上这是生成器创建的内容):require'test_helper'classYourHelperTest当然还有therspecvariantbyMattDarby也适用于Rails3 关于ruby-on-rails-我如何在Rails中测试助手?,我们在StackOverflow上找到一个类似的问题: http

ruby-on-rails - 在 Rails 应用程序中放置不适合任何地方的类的指南

我想知道是否有关于在Rails应用程序中放置非标准Ruby文件的最佳实践,那些不适合任何默认目录的文件(controllers/型号等)。我说的是Controller/模型等使用的类,但不是任何Rails基类的子类。包含从模型中提取的功能的类,以减少它们的体积。其中一些看起来像模型但不是AR模型,一些看起来更像“服务”,一些介于两者之间或其他。一些随机的例子:通过facebook等使用密码处理身份验证的“策略”类。封装参数的“XParams”对象或处理参数处理的“XCreator”对象,以执行一些复杂的操作,最终创建一些AR模型向外部API发出请求或封装这些请求和响应的类可以替代真实A

ruby - 在 Rspec 中测试 STDOUT 输出

我正在尝试为这个声明建立一个规范。使用“puts”很容易print"'#{@file}'doesn'texist:CreateEmptyFile(y/n)?" 最佳答案 RSpec3.0+RSpec3.0addedanewoutputmatcher为此目的:expect{my_method}.tooutput("mymessage").to_stdoutexpect{my_method}.tooutput("myerror").to_stderr最小测试Minitest还有一个叫做capture_io的东西:out,err=capt

ruby-on-rails - Rails.cache 在测试之间被清除了吗?

我们在Rails3.2应用程序中使用Rails.cache缓存id/path映射。在某些机器上它工作正常,但在其他机器上值是错误的。原因很难追踪,所以我对Rails.cache本身有一些疑问。它在测试之间被清除了吗?在开发模式下缓存的值是否有可能在测试模式下使用?如果它没有被清除,我怎么能在运行规范之前清除它呢?我的缓存存储配置是:#in:config/environments/development.rbconfig.cache_store=:memory_store,{:size=>64.megabytes}#in:config/environments/production.rb

ruby - 在 RSpec 测试期间抑制控制台输出

我正在测试将一些消息(带有puts、p警告等)放在控制台上的类。我只是想知道在RSpec测试期间是否有任何抑制此输出的能力? 最佳答案 我通过将$stout重定向到文本文件来抑制类中的puts输出。这样,如果我出于任何原因需要查看输出,它就在那里,但不会混淆我的测试结果。#spec_helper.rbRSpec.configuredo|config|config.before(:all,&:silence_output)config.after(:all,&:enable_output)endpublic#Redirectsstde

ruby-on-rails - 更快地将数据库从一个 heroku 应用程序传输到另一个应用程序

有没有更快的方法将我的生产数据库转移到测试应用程序?目前我正在对我的本地计算机执行herokudb:pull然后herokudb:push--apptestapp但这变得很耗时。我有一些种子数据,但它远不如用我的真实数据进行简单测试那么准确。由于它们都存储在相邻的AWS云中,因此必须有更快的方法来移动数据吗?我考虑过使用heroku包,但我注意到animate命令不见了?bundles:animate#animateabundleintoanewapp 最佳答案 在Rails应用程序的暂存、测试和生产环境之间迁移数据库是很常见的。而

ruby - RSpec:如何测试文件操作和文件内容

在我的应用程序中,我有以下代码:File.open"filename","w"do|file|file.write("text")end我想通过RSpec测试这段代码。这样做的最佳做法是什么? 最佳答案 我建议为此使用StringIO并确保您的SUT接受要写入的流而不是文件名。这样,可以使用不同的文件或输出(更可重用),包括字符串IO(有利于测试)因此在您的测试代码中(假设您的SUT实例是sutObject并且序列化程序被命名为writeStuffTo:testIO=StringIO.newsutObject.writeStuffT

ruby-on-rails - 测试 : how to focus on behavior instead of implementation without losing speed?

似乎有两种完全不同的测试方法,我想引用它们。问题是,这些意见是在5年前(2007年)提出的,我很感兴趣,从那以后发生了什么变化,我应该走哪条路。BrandonKeepers:Thetheoryisthattestsaresupposedtobeagnosticoftheimplementation.Thisleadstolessbrittletestsandactuallyteststheoutcome(orbehavior).WithRSpec,Ifeellikethecommonapproachofcompletelymockingyourmodelstotestyourcontr

ruby-on-rails - 如何为 Rails Controller 添加延迟以进行测试?

我正在测试Web应用程序的前端,并想测试在AJAX请求之间的各种延迟下,某些转换是如何出现的。有什么方法可以向我的Controller添加sleep(1500)以延迟响应? 最佳答案 Controller是这样的:defcatalog#Makestherequestpause1.5secondssleep1.5...end更好的是:只为开发环境添加sleep。 关于ruby-on-rails-如何为RailsController添加延迟以进行测试?,我们在StackOverflow上找到

ruby-on-rails - 在 Ruby on Rails 应用程序中定义常量的最佳位置在哪里?

在RubyonRails应用程序中,哪里是定义常量的最佳位置?我有一组常量数据,我需要在我的应用程序中的所有Controller中使用这些数据。 最佳答案 Rails>=3,应用程序本身就是一个模块(位于config/application.rb中)。您可以将它们存储在应用程序模块中moduleMyApplicationSUPER_SECRET_TOKEN="123456"end然后使用MyApplication::SUPER_SECRET_TOKEN来引用常量。Rails>=2.1&&在/config/initializers中,